home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / file.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.2 KB  |  45 lines

  1. /*
  2.  * Wrapper functions for accessing the file_struct fd array.
  3.  */
  4.  
  5. #ifndef __LINUX_FILE_H
  6. #define __LINUX_FILE_H
  7.  
  8. #include <linux/compiler.h>
  9. #include <linux/types.h>
  10. #include <linux/posix_types.h>
  11.  
  12. struct file;
  13.  
  14. extern void __fput(struct file *);
  15. extern void fput(struct file *);
  16. extern void drop_file_write_access(struct file *file);
  17.  
  18. struct file_operations;
  19. struct vfsmount;
  20. struct dentry;
  21. extern int init_file(struct file *, struct vfsmount *mnt,
  22.         struct dentry *dentry, fmode_t mode,
  23.         const struct file_operations *fop);
  24. extern struct file *alloc_file(struct vfsmount *, struct dentry *dentry,
  25.         fmode_t mode, const struct file_operations *fop);
  26.  
  27. static inline void fput_light(struct file *file, int fput_needed)
  28. {
  29.     if (unlikely(fput_needed))
  30.         fput(file);
  31. }
  32.  
  33. extern struct file *fget(unsigned int fd);
  34. extern struct file *fget_light(unsigned int fd, int *fput_needed);
  35. extern void set_close_on_exec(unsigned int fd, int flag);
  36. extern void put_filp(struct file *);
  37. extern int alloc_fd(unsigned start, unsigned flags);
  38. extern int get_unused_fd(void);
  39. #define get_unused_fd_flags(flags) alloc_fd(0, (flags))
  40. extern void put_unused_fd(unsigned int fd);
  41.  
  42. extern void fd_install(unsigned int fd, struct file *file);
  43.  
  44. #endif /* __LINUX_FILE_H */
  45.